PHP 5 Pocket (Italian Edition) by Massimo Canducci

PHP 5 Pocket (Italian Edition) by Massimo Canducci

autore:Massimo Canducci [Canducci, Massimo]
La lingua: ita
Format: azw3, epub
ISBN: 9788850310999
editore: Apogeo
pubblicato: 2011-01-26T05:00:00+00:00


?>

</body>

</html>

Questo esempio, il cui output è mostrato nella Figura 5.5, rappresenta uno script sufficientemente completo che tocca molti degli argomenti trattati fino a ora.

Figura 5.5

Innanzitutto si noti che il corpo principale dello script comincia definendo il nuovo array $scacchiera, ma, contrariamente agli esempi precedenti, i singoli elementi non sono semplici variabili, ma sono anch’essi array.

In particolare l’istruzione:

$scacchiera[] = array("T","C","A","Q","K","A","C","T");

aggiunge un elemento all’array $scacchiera e l’elemento che viene aggiunto è a sua volta un array che rappresenta una riga della nostra scacchiera virtuale. Gli otto elementi contenuti sono stringhe che identificano la presenza, in ogni posizione di quella riga, dell’elemento appropriato del gioco degli scacchi: torre, cavallo, alfiere, regina e re.

La riga successiva inserisce, nella seconda riga della scacchiera, una riga di pedoni, mentre lo spazio rappresenta l’assenza di pezzi in una determinata posizione.

Al termine della costruzione dell’array multidimensionale $scacchiera abbiamo una rappresentazione virtuale completa di una scacchiera preparata per il gioco degli scacchi e possiamo leggerla per stamparla all’interno di una pagina HTML.

Per raggiungere questo obiettivo si stampa l’apertura di una tabella attraverso l’istruzione:

print("<table border=\"1\">");

e successivamente si effettuano due cicli, l’uno annidato nell’altro. Il primo scandisce tutti gli elementi riga ed è ottenuto attraverso il blocco di istruzioni:

for ($i=0;$i<count($scacchiera);$i++)

{

// scansione di tutte le righe

}

Questo ciclo provvede anche a stampare ogni singola riga attraverso la produzione in output dei tag HTML di apertura e chiusura della riga stessa all’interno della tabella.

Il secondo ciclo, quello più interno, che scandisce ogni singolo elemento della riga selezionata e provvede a stamparlo viene realizzato attraverso il ciclo:

for ($j=0;$j<count($scacchiera[$i]);$j++)

{

// scansione di tutti gli elementi della riga

}

Per ottenere l’effetto di alternanza tra lo sfondo bianco e quello nero all’interno della scacchiera, si utilizza la funzione getBgColor che, attraverso l’utilizzo di una variabile statica, restituisce a ogni chiamata un valore diverso tra i colori bianco e nero.

Nel caso della scacchiera iniziale per il gioco degli scacchi è necessario anche individuare il colore di ogni singolo pezzo.

Questo viene realizzato attraverso l’utilizzo della funzione getColor che restituisce il colore rosso per i primi sedici elementi, cioè per le prime due righe, e successivamente restituisce il colore verde.

Naturalmente questa metodologia di stampa ha significato esclusivamente quando si cerca di rendere in output una scacchiera il cui stato interno sia quello iniziale. Un tentativo di stampa di una scacchiera in uno stato diverso produrrebbe un risultato non corretto, soprattutto per l’algoritmo utilizzato per la definizione del colore di ogni singolo pezzo sulla scacchiera.

Quando ci troviamo nel ciclo più interno stiamo analizzando l’elemento le cui coordinate (che vanno da zero a n-1) sono indirizzate direttamente dalle variabili $i e $j.

Come si vede dall’esempio, è possibile ottenere il valore dell’elemento indirizzabile a queste coordinate attraverso la sintassi:

$scacchiera[$i][$j]

Nel caso specifico della stampa del valore presente in quelle coordinate, poiché l’esigenza funzionale è di stamparlo all’interno di una cella di una tabella HTML, è importante testare il valore presente in quella posizione perché se si tratta di un semplice spazio questo dovrà essere convertito in una carattere speciale HTML identificato attraverso la entità &nbsp; in caso



scaricare



Disconoscimento:
Questo sito non memorizza alcun file sul suo server. Abbiamo solo indice e link                                                  contenuto fornito da altri siti. Contatta i fornitori di contenuti per rimuovere eventuali contenuti di copyright e inviaci un'email. Cancelleremo immediatamente i collegamenti o il contenuto pertinenti.
Ebooks popolari
Designing Mobile Interfaces by Steven Hoober & Eric Berkman(2156)
Mobile HTML5 by Estelle Weyl(2108)
La Sicurezza Informatica. Tra informatica, matematica e diritto (Italian Edition) by Francesca Cirini(1870)
Hello World by Hannah Fry(1838)
Il Manuale Di Arduino by Maik Schmidt(1687)
Nel paese degli algoritmi by Aurélie Jean(1430)
Linux server per l'amministratore di rete: per Ubuntu, CentOS e Fedora (Italian Edition) by Silvio Umberto Zanzi(1427)
Esercizi Di Stile by Unknown(1204)
Sviluppare in PHP 7: Realizzare applicazioni web e API professionali (Italian Edition) by Enrico Zimuel(1021)
E-LEARNING by E-learning(1014)
PYTHON : Il manuale per imparare a programmare. Contiene esempi di codice ed esercizi pratici. (Italian Edition) by Frost Oscar R(986)
Tutto Mac for dummies: iPhone, iPad, MacBook, iCloud e molto altro by Simone Gambirasio(978)
Novacene by James Lovelock(960)
9 algoritmi che hanno cambiato il futuro by MacCormick John(903)
Automatizzare le cose noiose con Python: Programmazione pratica per principianti assoluti (Italian Edition) by Sweigart Al(902)
Comprendere gli Algoritmi e i diagrammi di flusso passo-passo: Esempi con ausili grafici e tabellari, esercizi e codifica in linguaggio C (Italian Edition) by Luciano Manelli(877)
Amazon by Sconosciuto(863)
WEB DEVELOPMENT: La guida completa allo sviluppo web lato client. Impara a programmare con esercizi pratici ed esempi di codice. Include HTML, CSS, PHP, PYTHON, MySQL (Italian Edition) by Ferrati Alberto(851)
On Writing by Stephen King(847)
Android 4 by Massimo Carli(846)